home *** CD-ROM | disk | FTP | other *** search
/ Plug-In Power Pack for Netscape Communicator / Plug-In Power Pack for Netscape Communicator.iso / plugins / dataviews / include / dvinteract.h < prev    next >
C/C++ Source or Header  |  1997-05-08  |  8KB  |  201 lines

  1. /*
  2. |    dvinteract.h - includes for the event handler and input objects
  3. |===================================================================
  4. |                         copyright (c) 1987
  5. |                         V. I. Corporation
  6. |
  7. |    Scott Reed        January 22, 1987
  8. |         Earl Billingsley    12-26-88 
  9. |           VNtext editing keys
  10. |           VOitKeyOrigin definitions
  11. |           VOinPutFlag and VOinGetFlag definitions
  12. |           Interaction Handler function names for EchoFunction calls
  13. |           Flags for VOinGetInternal
  14. |
  15. |===================================================================
  16. */
  17.  
  18. #ifndef _DVINTERACT_H_
  19. #define _DVINTERACT_H_
  20. #include "VOstd.h"
  21.  
  22. /* Typedefs for event handler */
  23. typedef ADDRESS EVENT_REQUEST;
  24.  
  25. typedef int (*VUERFCNFUNPTR) V_P_((OBJECT client,
  26.                    EVENT_REQUEST request,
  27.                    int label,
  28.                    OBJECT loc,
  29.                    ADDRESS argblock));                   
  30.  
  31. /* Return values for Event Handler service function calls 
  32. |  These may be ORed together */
  33. #define        INPUT_ACCEPT    0x0001
  34. #define        INPUT_DONE    0x0002
  35. #define        INPUT_CANCEL    0x0004
  36. #define        INPUT_USED    0x0008
  37. #define        INPUT_UNUSED    0x0010
  38.  
  39. /* VUerHandler termination flags */
  40. #define     ER_STOP_ON_ANY_EDGE    0x001 /* any key press or release */
  41. #define     ER_STOP_ON_LEAD_EDGE    0x002 /* any key press */
  42. #define     ER_STOP_ON_ANY_USE    0x008 /*  result != INPUT_UNUSED */
  43. #define     ER_STOP_ON_UNUSED    0x010 /*  result == INPUT_UNUSED */ 
  44. #define     ER_STOP_ON_DONE    0x020 /*  result == INPUT_DONE */ 
  45. #define     ER_STOP_ON_ACCEPT    0x040 /*  result == INPUT_ACCEPT */ 
  46. #define     ER_STOP_ON_CANCEL    0x080 /*  result == INPUT_CANCEL */ 
  47. #define     ER_STOP_ON_USED    0x100 /*  result == INPUT_USED */
  48.  
  49. /* VUerPutKeys and VUerGetKeys flags */
  50. #define SELECT_KEYS             0
  51. #define CANCEL_KEYS             1
  52. #define DONE_KEYS             2
  53. #define RESTORE_KEYS             3
  54. #define CLEAR_KEYS             4
  55. #define ACTIVATE_KEYS             5
  56. #define PASSIVATE_KEYS             6
  57. #define TOGGLE_ACTIVATION_KEYS         7
  58. #define TOGGLE_POLLING_KEYS         8
  59.  
  60. /* VNtext editing keys */
  61. #define ERASE_STRING_KEYS         9
  62. #define ERASE_NEXT_WORD_KEYS        10
  63. #define ERASE_PREVIOUS_WORD_KEYS    11
  64. #define ERASE_PREV_CHAR_KEYS        12
  65. #define ERASE_NEXT_CHAR_KEYS        13
  66. #define BOL_KEYS            14
  67. #define EOL_KEYS            15
  68. #define FORWARD_CHAR_KEYS        16
  69. #define BACK_CHAR_KEYS            17
  70. #define FORWARD_WORD_KEYS        18
  71. #define BACK_WORD_KEYS            19
  72. #define UP_LINE_KEYS            20
  73. #define DOWN_LINE_KEYS            21
  74. #define POSITION_KEYS                 22
  75.  
  76. /* Number of key types in the above list. 
  77. |           INTERNAL V.I. Corp NOTE
  78. |  If this changes, make sure the KeysList array in Uer.c 
  79. |  has the proper number of initializations.  */
  80. #define NUM_KEY_TYPES    23
  81.  
  82. /*-----------------------------------------
  83. |  VOitKeyOrigin flag values 
  84. |-----------------------------------------*/
  85. #define LOCAL_KEYS 0
  86. #define GLOBAL_KEYS 1
  87.  
  88. #define KEY_ORIGIN 6
  89. /* Valid VALUES for this flag are LOCAL_KEYS and GLOBAL_KEYS */
  90.  
  91. /*-----------------------------------------
  92. |  VOinPutFlag and VOinGetFlag definitions
  93. |------------------------------------------*/
  94. /* NAME for flag that tells the interaction handler to
  95. |  save the portion of the screen that will be overwritten
  96. |  when it first displays the input object.  This will cause
  97. |  to try save the raster image if it can.
  98. |  The default value for this flag is YES */
  99. #define SAVE_RASTER 1 /* VALUES for this flag are YES and NO */
  100.  
  101. /* NAME for flag that determines how the interaction handler will
  102. |  erase the interation area when its done.
  103. |  The default value for this flag is RESTORE_RASTER. */
  104. # define ERASE_METHOD 2
  105.  
  106. /* VALUES for the ERASE_METHOD flag are : */
  107. # define RESTORE_RASTER  0 /* Restore the saved raster, if possible */
  108. # define CALL_REDRAW     1 /* Repair damage by calling VOscRedraw */
  109. # define CALL_VOSCREDRAW CALL_REDRAW 
  110. # define ERASE_RECTANGLE 2 /* Erase the viewport to the background */
  111.                  /* color. */
  112. # define NO_ERASE        3 /* Don't erase, just cleanup the data */
  113.                  /* structures allocated by the handler. */
  114. # define OBJECT_ERASE    4 /* Use the VOobDraw routines to erase (if possible) */
  115.  
  116. /* NAME for flag that determines if the interaction handler will
  117. |  draw the layout boundary.  The default value is YES. */
  118. #define DRAW_LAYOUT_BOUND 3 /* Valid VALUES for this flag are YES and NO */
  119.  
  120. /* NAME for flag that determines if the interaction handler will
  121. |  draw the echo viewport boundary.  The default value is YES. */
  122. #define DRAW_ECHO_BOUND 4 /* Valid VALUES for this flag are YES and NO */
  123.  
  124. /* NAME for flag that determines if the interaction handler will
  125. |  actually use the echo area if it exists.  If the user has an
  126. |  echo function defined and wants to do their own echoing this
  127. |  flag allows such control. The default value is YES. 
  128. |  This flag is NOT currently used. */
  129. #define HANDLER_ECHO 5 /* Valid VALUES for this flag are YES and NO */
  130.  
  131. /* NAME for flag that tells the interaction handler to
  132. |  repair (redraw) screen after update. It will repaint all the objects
  133. |  placed on the top of the input and damaged by update.
  134. |  The default value for this flag is NO */
  135. #define REDRAW_ON_UPDATE 6 /* VALUES for this flag are YES and NO */
  136.  
  137. /*-----------------------------------------------------------------
  138. |  Name of Routine within Interaction Handler calling EchoFunction
  139. |------------------------------------------------------------------*/
  140. # define INITIAL_DRAW   0 
  141. # define TAKE_INPUT     1 
  142. # define UPDATE_DRAW    2 
  143. # define ERASE          3 
  144. # define CONTEXT_REDRAW 4 
  145.  
  146. # define SETUP_FOR_DRAW 5
  147. # define CONTEXT_DRAW   6 
  148. # define CLEANUP_DATA   7
  149. # define DATA_RESET     8
  150.  
  151. /* Input object activation flags.  An input object is INACTIVE when all of its
  152. |  associated events are deactivated and ACTIVE when the events are activated.
  153. */
  154. # define ACTIVE   1
  155. # define INACTIVE 2
  156.  
  157. /*-----------------------------------------------------------------
  158. |  Flags for VOinGetInternal
  159. |------------------------------------------------------------------*/
  160. /* Layout to screen transform */
  161. # define TRANSFORM    0 
  162. /* Menu item area deque used by the menu and multiplexor */
  163. # define AREA_DEQUE   1
  164. /* Combiner and multiplexor transform used to draw embedded input objects. */
  165. # define OBJECT_TRANS 2
  166. /* Combiner and multiplexor embedded input objects. */
  167. # define INOBJS_DEQUE 3
  168. /* Menu objects used by menu and multiplexor if it is an object menu. */
  169. # define OBJECT_DEQUE 4
  170. /* Menu text objects used by menu and multiplexor if it is a text menu. */
  171. # define ITEM_DEQUE   5
  172. /* Saved version of original value used by
  173. |  menu, multiplexor, palette, slider, toggle. */
  174. # define INITIAL_VALUE 6
  175. /* Saved version of original X value used by VNslider2D */
  176. # define INITIAL_XVALUE 7
  177. /* Saved version of original Y value used by VNslider2D */
  178. # define INITIAL_YVALUE 8
  179. /* Main echo area */
  180. # define ECHO_VIEWPORT  9
  181.  
  182. /* VUer composite event types */
  183. #define VUER_POS_EVENT          0    /* position event */
  184. #define VUER_SE_EVENT          1    /* simple edge event */
  185. #define VUER_BRE_EVENT          2    /* bounding rectangle edge event */
  186. #define VUER_DOE_EVENT          3 /* drawing object edge event */
  187. #define VUER_SRR_EVENT          4    /* service request result event */
  188. #define VUER_OPOS_EVENT          5    /* object position event */
  189. #define VUER_RESIZE_EVENT     6 /* window resize event */
  190. #define VUER_WINQUIT_EVENT    7 /* window quit event */
  191. #define VUER_ICONIFY_EVENT    8 /* window iconify event */
  192. #define VUER_EXPOSE_EVENT     9 /* window expose event */
  193. #define VUER_WIN_ENTER_EVENT 10 /* window enter event */
  194. #define VUER_WIN_LEAVE_EVENT 11 /* window leave event */
  195.  
  196. /* VUer inside/outside flags */
  197. #define V_OUTSIDE     0
  198. #define V_INSIDE      1
  199.  
  200. #endif /* _DVINTERACT_H_ */
  201.